home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cpp_libs
/
awe2-0_1.lha
/
awe2-0.1
/
Src
/
Generic.h
< prev
next >
Wrap
C/C++ Source or Header
|
1990-07-09
|
1KB
|
60 lines
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright (C) 1988 University of Illinois, Urbana, Illinois
// Copyright (C) 1989 University of Colorado, Boulder, Colorado
// Copyright (C) 1990 University of Colorado, Boulder, Colorado
//
// written by Dirk Grunwald (grunwald@foobar.colorado.edu)
//
#ifndef _Generic_h
#define _Generic_h
#pragma once
#if defined(__GNU__) || defined(__STDC__) || defined(__GNUG__)
/*
* See the CPP manual, argument prescan section for explination
* of this crap.
*/
#define GENERIC2(a,b) gEnErIc2(a,b)
#define gEnErIc2(a,b) a ## b
#define GENERIC3(a,b,c) gEnErIc3(a,b,c)
#define gEnErIc3(a,b,c) a ## b ## c
#define GENERIC4(a,b,c,d) gEnErIc4(a,b,c,d)
#define gEnErIc4(a,b,c,d) a ## b ## c ## d
#define GENERIC_STRING(a) gEnErIcStRiNg(a)
#define gEnErIcStRiNg(a) #a
#else
#if defined(sun)
#define GENERIC2(a,b) a/**/b
#define GENERIC3(a,b,c) a/**/b/**/c
#define GENERIC4(a,b,c,d) a/**/b/**/c/**/d
#define GENERIC_STRING(a) "\
a \
"
#else
#if defined(BSD)
#define GENERIC2(a,b) a\
b
#define GENERIC3(a,b,c) a\
b\
c
#define GENERIC4(a,b,c,d) a\
b\
c\
d
#define GENERIC_STRING(a) "\
a \
"
#else
I do not know how to make GENERICs for your machine
#endif /* BSD */
#endif /* SUN */
#endif /* GNU */
#endif /* Generic_h */